package nullby.common.model;

import nullby.common.utils.CustomLog;

import org.json.JSONException;
import org.json.JSONObject;

import android.os.Parcel;
import android.os.Parcelable;

public final class ErrorModel extends BaseModel {
	private static final String TAG = ErrorModel.class.getSimpleName();

	public static final IModelCreator<ErrorModel> MODEL_CREATOR = new IModelCreator<ErrorModel>() {

		public ErrorModel create(JSONObject jsonObject) {
			return new ErrorModel(jsonObject);
		}

	};

	public static final Parcelable.Creator<ErrorModel> CREATOR = new Creator<ErrorModel>() {

		public ErrorModel[] newArray(int size) {
			return new ErrorModel[size];
		}

		public ErrorModel createFromParcel(Parcel in) {
			return new ErrorModel(in);
		}
	};

	public ErrorModel() {
		super();
	}

	public ErrorModel(JSONObject json) {
		super(json);
	}

	public ErrorModel(Parcel in) {
		super(in);
	}

	public ErrorModel(String json) {
		super(json);
	}

	public final String getError() {
		if (getJSONArray("errors") != null) {
			try {
				return getJSONArray("errors").getJSONObject(0).getString(
						"message");
			} catch (JSONException e) {
				CustomLog.logE(TAG, "error when get error", e);
			}
		} else if (getString("message") != null) {
			return getString("message");
		} else if (getString("error") != null) {
			return getString("error");
		}

		return "error";

	}
}
